package com.miplus.ccrm.core.controller.vo.credit;

import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

@Data
public class CrdCaseReqVo {
    /**
     * 页码
     */
    @NotNull
    private Integer pageNum;

    /**
     * 每页数量
     */
    @NotNull
    private Integer pageSize;

    /**
     * 案件编号
     */
    private String creditcaseid;

    /**
     * 客户编号
     */
    private String custnumber;

    /**
     * 案件状态
     */
    private List<String> status;

    /**
     * 创建时间起
     */
    private String startdt;

    /**
     * 创建时间止
     */
    private String enddt;

    /**
     * 客户姓名
     */
    private String custname;

    /**
     * 客户类型
     */
    private Integer custtype;

    /**
     * 证件号码
     */
    private String openacctcertno;

    /**
     * 客户手机号
     */
    private String custphone;
    /**
     * 客户手机号 类型
     */
    private List<String> custphoneTypeList;

    /**
     * 已出账单欠款起
     */
    private BigDecimal odudPrin1;

    /**
     * 已出账单欠款止
     */
    private BigDecimal odudPrin2;

    /**
     * 逾期期数起
     */
    private Integer mthsodue1;

    /**
     * 逾期期数止
     */
    private Integer mthsodue2;

    /**
     * 逾期天数起
     */
    private Integer mthsday1;

    /**
     * 逾期天数止
     */
    private Integer mthsday2;

    /**
     * 账号
     */
    private String acctno;

    /**
     * 产品类型(账户大类）
     */
    private List<String> prodtype;

    /**
     * 账户类型
     */
    private String accttype;

    /**
     * 卡种
     */
    private String cardtype;

    /**
     * 卡号
     */
    private String cardno;

    /**
     * 风险等级
     */
    private String risklevel;

    /**
     * 催收单位
     */
    private List<String> sendtodept;

    /**
     * 催收专员
     */
    private List<String> sendtousr;

    /**
     * 案件队列
     */
    private String ccc;

    /**
     * 分案批次
     */
    private String distbatchid;

    /**
     * 分案时间起
     */
    private String diststartdt;

    /**
     * 分案时间止
     */
    private String distenddt;

    /**
     * 预约时间起
     */
    private String appointstartdt;

    /**
     * 预约时间止
     */
    private String appointenddt;

    /**
     * 入催时间起
     */
    private String instartdt;

    /**
     * 入催时间止
     */
    private String inenddt;

    /**
     * 账单分期(0=否，1=是分期)
     */
    private String isamortcust;

    /**
     * 协商分期(0=否，1=是分期)
     */
    private String isfiamort;

    /**
     * 客户标签（可多选）
     */
    private List<String> custtaglist;

    /**
     * 1=不包含标签，0/null是包含关系，默认
     */
    private String noincludetags;

    /**
     * 案件标签
     */
    private List<String>casetaglist;

    /**
     * 案件不包含  1=不包含标签，0/null是包含关系，默认
     */
    private String noincludecasetags;

    /**
     * 账户状态
     */
    private List<String> acctstatus;

    /**
     * 1=不包含账户状态，0/null是包含关系，默认
     */
    private String noincludeaccs;

    /**
     * 证件号list(复制查询)
     */
    private List<String> openacctcertnolist;

    /**
     * 卡号list(复制查询)
     */
    private List<String> cardnolist;

    /**
     * 数据批次
     */
    private String batchid;

    /**
     * 账单日
     */
    private String billdate;

    /**
     * 待分案一键分案
     */
    private String isdistquy;

    /**
     * 案件池一键回收
     */
    private String isrecyquy;

    /**
     * 回收时间起
     */
    private String recystartdt;

    /**
     * 回收时间止
     */
    private String recyenddt;

    /**
     * 共债用户(1=是,0/null=全部)
     */
    private String iscodebt;

    /**
     * 最近联系时间起
     */
    private String lastccstartdt;

    /**
     * 最近联系时间止
     */
    private String lastccenddt;

    /**
     * 币种
     */
    private String currency;

    /**
     * A原始分类(五级分案),可多选
     */
    private List<String> acctFlevel;

    /**
     * 报表导出有效：GRID列ID数组
     */
    private List<String> expidlist;

    /**
     * 报表导出有效：GRID列名称数组
     */
    private List<String> expnamelist;

    /**
     * 报表导出有效：导出的文件名
     */
    private String expfilename;

    //补充


    /**
     * 产品编号
     */
    private String productId;

    /**
     * 产品名称
     */
    private List<Integer> productName;


    /**
     * 商户号
     */
    private String merchantId;
    /**
     * 商户名称
     */
    private List<String> merchantName;

    /**
     * 逾期阶段
     */
    private List<String> overdueStage;

    /**
     * 借据号
     */
    private String loanInvoiceId;


    /**
     * 案件序列号
     */
    private String serialNumber;

    /**
     * 批量客户号
     */
    private  List<String>  custnumberlist;
    /**
     * 批量案件号
     */
    private  List<String>  creditcaseidlist;
    /**
     * 批量案件周期编号
     */

    private  List<String>  serialnumberlist;
    /**
     * 批量电话
     */
    private  List<String>  custphonelist;
    /**
     * 批量队列
     */
    private List<String> queuelist;


    /**
     * 排序字段
     */
    private String column;

    /**
     * 排序方式 [false:DESC,true:ASC]默认 DESC,
     */
    private Boolean isASC=false;

    //

    /**
     * 状态更新时间开始值
     */
    private String statusdt1;
    /**
     * 状态更新时间结束值
     */
    private String statusdt2;
    /**
     * 分配批次号
     */
    private String assignbatchid;

    /**
     * 委案开始日期
     */
    private String cpStartTime1;
    /**
     * 委案开始日期
     */
    private String cpStartTime2;

    /**
     * 委案结束日期
     */
    private String cpEndTime1;
    /**
     * 委案结束日期
     */
    private String cpEndTime2;


    /**
     * 委案总金额
     */
    private BigDecimal cpTotalamt1;

    /**
     * 委案总金额
     */
    private BigDecimal cpTotalamt2;
    /**
     * 委案逾期天数
     */
    private Integer cpOverdueDays1;
    /**
     * 委案逾期天数
     */
    private Integer cpOverdueDays2;
    /**
     * 提醒下期应还金额
     */
    private BigDecimal remindRepayPrincipal1;
    /**
     * 提醒下期应还金额
     */
    private BigDecimal remindRepayPrincipal2;
    /**
     * 应催已还金额
     */
    private BigDecimal repaidAmount1;
    /**
     * 应催已还金额
     */
    private BigDecimal repaidAmount2;
    /**
     * 分案方式 1：自动，2：人工
     */
    private Integer distributetype;

    /**
     * 分配方式 1：自动，2：人工
     */
    private Integer assigntype;


    /**
     * 距离下一还款日天数
     */
    private Integer remindRepayDays1;

    /**
     * 距离下一还款日天数
     */
    private Integer remindRepayDays2;

    /**
     * 最近还款时间
     */
    private String recentlyRepTime1;

    /**
     * 最近还款时间
     */
    private String recentlyRepTime2;

    /**
     * 黑白名单
     * 1：黑名单，2：白名单
     */
    private String blacklist;

    /**
     * 案件分组
     */
    private List<String> caseGrpTag;
    /**
     * 客户分组
     */
    private List<String> custGrpTag;

    /**
     * 分案队列
     */
    private List<String> disttag;
    /**
     * 分案策略
     */
    private List<String> distributorid;
    /**
     * 分配策略
     */
    private List<String> assignid;


    /**
     * 企业名称
     */
    private String entpName;


    /**
     * 是否使用上下案 1:使用
     */
    private String isUpSign="1";

    /**
     * 客户逾期总金额
     */
    private BigDecimal prododudtotalPrin1;
    /**
     * 客户逾期总金额
     */
    private BigDecimal prododudtotalPrin2;

    /**
     * 应催未还金额
     */
    private BigDecimal waitAmount1;
    /**
     * 应催未还金额
     */
    private BigDecimal waitAmount2;

    /**
     * 客户逾期天数
     */
    private Integer overdueDays1;
    /**
     * 客户逾期天数
     */
    private Integer overdueDays2;

    /**
     * 分页保证一致性。
     */
    private Integer lastCaseId;

    /**
     * 西催员
     */
    private List<String>  assistant;
    /**
     * 协催状态
     */
    private Integer assiststatus;
    /**
     * 协催开始时间范围1
     */
    private String assiststartdt1;
    /**
     * 协催开始时间范围2
     */
    private String assiststartdt2;

}
